0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 QDP
↳5 QDPOrderProof (⇔)
↳6 QDP
↳7 DependencyGraphProof (⇔)
↳8 AND
↳9 QDP
↳10 QDPOrderProof (⇔)
↳11 QDP
↳12 DependencyGraphProof (⇔)
↳13 AND
↳14 QDP
↳15 UsableRulesProof (⇔)
↳16 QDP
↳17 QDPSizeChangeProof (⇔)
↳18 YES
↳19 QDP
↳20 QDPOrderProof (⇔)
↳21 QDP
↳22 PisEmptyProof (⇔)
↳23 YES
↳24 QDP
↳25 Narrowing (⇔)
↳26 QDP
↳27 Narrowing (⇔)
↳28 QDP
↳29 Narrowing (⇔)
↳30 QDP
↳31 DependencyGraphProof (⇔)
↳32 QDP
↳33 Narrowing (⇔)
↳34 QDP
↳35 DependencyGraphProof (⇔)
↳36 QDP
↳37 Narrowing (⇔)
↳38 QDP
↳39 DependencyGraphProof (⇔)
↳40 QDP
↳41 Narrowing (⇔)
↳42 QDP
↳43 Narrowing (⇔)
↳44 QDP
↳45 DependencyGraphProof (⇔)
↳46 QDP
↳47 Narrowing (⇔)
↳48 QDP
↳49 DependencyGraphProof (⇔)
↳50 QDP
↳51 Narrowing (⇔)
↳52 QDP
↳53 DependencyGraphProof (⇔)
↳54 QDP
↳55 Narrowing (⇔)
↳56 QDP
↳57 Narrowing (⇔)
↳58 QDP
↳59 DependencyGraphProof (⇔)
↳60 QDP
↳61 Narrowing (⇔)
↳62 QDP
↳63 QDPOrderProof (⇔)
↳64 QDP
↳65 QDPOrderProof (⇔)
↳66 QDP
↳67 QDPOrderProof (⇔)
↳68 QDP
↳69 QDPOrderProof (⇔)
↳70 QDP
↳71 QDPOrderProof (⇔)
↳72 QDP
↳73 QDPOrderProof (⇔)
↳74 QDP
↳75 QDP
↳76 QDPOrderProof (⇔)
↳77 QDP
↳78 DependencyGraphProof (⇔)
↳79 TRUE
↳80 QDP
↳81 Narrowing (⇔)
↳82 QDP
↳83 Narrowing (⇔)
↳84 QDP
↳85 Narrowing (⇔)
↳86 QDP
↳87 DependencyGraphProof (⇔)
↳88 QDP
↳89 Narrowing (⇔)
↳90 QDP
↳91 DependencyGraphProof (⇔)
↳92 QDP
↳93 Narrowing (⇔)
↳94 QDP
↳95 DependencyGraphProof (⇔)
↳96 QDP
↳97 Narrowing (⇔)
↳98 QDP
↳99 Narrowing (⇔)
↳100 QDP
↳101 DependencyGraphProof (⇔)
↳102 QDP
↳103 Narrowing (⇔)
↳104 QDP
↳105 DependencyGraphProof (⇔)
↳106 QDP
↳107 Narrowing (⇔)
↳108 QDP
↳109 DependencyGraphProof (⇔)
↳110 QDP
↳111 Narrowing (⇔)
↳112 QDP
↳113 Narrowing (⇔)
↳114 QDP
↳115 DependencyGraphProof (⇔)
↳116 QDP
↳117 Narrowing (⇔)
↳118 QDP
↳119 QDPOrderProof (⇔)
↳120 QDP
↳121 QDPOrderProof (⇔)
↳122 QDP
↳123 QDPOrderProof (⇔)
↳124 QDP
↳125 QDPOrderProof (⇔)
↳126 QDP
↳127 QDPOrderProof (⇔)
↳128 QDP
↳129 QDPOrderProof (⇔)
↳130 QDP
↳131 NonTerminationProof (⇔)
↳132 NO
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ZEROS → CONS(0, n__zeros)
ZEROS → 01
U411(tt, V2) → U421(isNatIList(activate(V2)))
U411(tt, V2) → ISNATILIST(activate(V2))
U411(tt, V2) → ACTIVATE(V2)
U511(tt, V2) → U521(isNatList(activate(V2)))
U511(tt, V2) → ISNATLIST(activate(V2))
U511(tt, V2) → ACTIVATE(V2)
U611(tt, V2) → U621(isNatIList(activate(V2)))
U611(tt, V2) → ISNATILIST(activate(V2))
U611(tt, V2) → ACTIVATE(V2)
U711(tt, L, N) → U721(isNat(activate(N)), activate(L))
U711(tt, L, N) → ISNAT(activate(N))
U711(tt, L, N) → ACTIVATE(N)
U711(tt, L, N) → ACTIVATE(L)
U721(tt, L) → S(length(activate(L)))
U721(tt, L) → LENGTH(activate(L))
U721(tt, L) → ACTIVATE(L)
U811(tt) → NIL
U911(tt, IL, M, N) → U921(isNat(activate(M)), activate(IL), activate(M), activate(N))
U911(tt, IL, M, N) → ISNAT(activate(M))
U911(tt, IL, M, N) → ACTIVATE(M)
U911(tt, IL, M, N) → ACTIVATE(IL)
U911(tt, IL, M, N) → ACTIVATE(N)
U921(tt, IL, M, N) → U931(isNat(activate(N)), activate(IL), activate(M), activate(N))
U921(tt, IL, M, N) → ISNAT(activate(N))
U921(tt, IL, M, N) → ACTIVATE(N)
U921(tt, IL, M, N) → ACTIVATE(IL)
U921(tt, IL, M, N) → ACTIVATE(M)
U931(tt, IL, M, N) → CONS(activate(N), n__take(activate(M), activate(IL)))
U931(tt, IL, M, N) → ACTIVATE(N)
U931(tt, IL, M, N) → ACTIVATE(M)
U931(tt, IL, M, N) → ACTIVATE(IL)
ISNAT(n__length(V1)) → U111(isNatList(activate(V1)))
ISNAT(n__length(V1)) → ISNATLIST(activate(V1))
ISNAT(n__length(V1)) → ACTIVATE(V1)
ISNAT(n__s(V1)) → U211(isNat(activate(V1)))
ISNAT(n__s(V1)) → ISNAT(activate(V1))
ISNAT(n__s(V1)) → ACTIVATE(V1)
ISNATILIST(V) → U311(isNatList(activate(V)))
ISNATILIST(V) → ISNATLIST(activate(V))
ISNATILIST(V) → ACTIVATE(V)
ISNATILIST(n__cons(V1, V2)) → U411(isNat(activate(V1)), activate(V2))
ISNATILIST(n__cons(V1, V2)) → ISNAT(activate(V1))
ISNATILIST(n__cons(V1, V2)) → ACTIVATE(V1)
ISNATILIST(n__cons(V1, V2)) → ACTIVATE(V2)
ISNATLIST(n__cons(V1, V2)) → U511(isNat(activate(V1)), activate(V2))
ISNATLIST(n__cons(V1, V2)) → ISNAT(activate(V1))
ISNATLIST(n__cons(V1, V2)) → ACTIVATE(V1)
ISNATLIST(n__cons(V1, V2)) → ACTIVATE(V2)
ISNATLIST(n__take(V1, V2)) → U611(isNat(activate(V1)), activate(V2))
ISNATLIST(n__take(V1, V2)) → ISNAT(activate(V1))
ISNATLIST(n__take(V1, V2)) → ACTIVATE(V1)
ISNATLIST(n__take(V1, V2)) → ACTIVATE(V2)
LENGTH(nil) → 01
LENGTH(cons(N, L)) → U711(isNatList(activate(L)), activate(L), N)
LENGTH(cons(N, L)) → ISNATLIST(activate(L))
LENGTH(cons(N, L)) → ACTIVATE(L)
TAKE(0, IL) → U811(isNatIList(IL))
TAKE(0, IL) → ISNATILIST(IL)
TAKE(s(M), cons(N, IL)) → U911(isNatIList(activate(IL)), activate(IL), M, N)
TAKE(s(M), cons(N, IL)) → ISNATILIST(activate(IL))
TAKE(s(M), cons(N, IL)) → ACTIVATE(IL)
ACTIVATE(n__zeros) → ZEROS
ACTIVATE(n__take(X1, X2)) → TAKE(activate(X1), activate(X2))
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X2)
ACTIVATE(n__0) → 01
ACTIVATE(n__length(X)) → LENGTH(activate(X))
ACTIVATE(n__length(X)) → ACTIVATE(X)
ACTIVATE(n__s(X)) → S(activate(X))
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__cons(X1, X2)) → CONS(activate(X1), X2)
ACTIVATE(n__cons(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__nil) → NIL
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ACTIVATE(n__take(X1, X2)) → TAKE(activate(X1), activate(X2))
TAKE(0, IL) → ISNATILIST(IL)
ISNATILIST(V) → ISNATLIST(activate(V))
ISNATLIST(n__cons(V1, V2)) → U511(isNat(activate(V1)), activate(V2))
U511(tt, V2) → ISNATLIST(activate(V2))
ISNATLIST(n__cons(V1, V2)) → ISNAT(activate(V1))
ISNAT(n__length(V1)) → ISNATLIST(activate(V1))
ISNATLIST(n__cons(V1, V2)) → ACTIVATE(V1)
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X2)
ACTIVATE(n__length(X)) → LENGTH(activate(X))
LENGTH(cons(N, L)) → U711(isNatList(activate(L)), activate(L), N)
U711(tt, L, N) → U721(isNat(activate(N)), activate(L))
U721(tt, L) → LENGTH(activate(L))
LENGTH(cons(N, L)) → ISNATLIST(activate(L))
ISNATLIST(n__cons(V1, V2)) → ACTIVATE(V2)
ACTIVATE(n__length(X)) → ACTIVATE(X)
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__cons(X1, X2)) → ACTIVATE(X1)
ISNATLIST(n__take(V1, V2)) → U611(isNat(activate(V1)), activate(V2))
U611(tt, V2) → ISNATILIST(activate(V2))
ISNATILIST(V) → ACTIVATE(V)
ISNATILIST(n__cons(V1, V2)) → U411(isNat(activate(V1)), activate(V2))
U411(tt, V2) → ISNATILIST(activate(V2))
ISNATILIST(n__cons(V1, V2)) → ISNAT(activate(V1))
ISNAT(n__length(V1)) → ACTIVATE(V1)
ISNAT(n__s(V1)) → ISNAT(activate(V1))
ISNAT(n__s(V1)) → ACTIVATE(V1)
ISNATILIST(n__cons(V1, V2)) → ACTIVATE(V1)
ISNATILIST(n__cons(V1, V2)) → ACTIVATE(V2)
U411(tt, V2) → ACTIVATE(V2)
U611(tt, V2) → ACTIVATE(V2)
ISNATLIST(n__take(V1, V2)) → ISNAT(activate(V1))
ISNATLIST(n__take(V1, V2)) → ACTIVATE(V1)
ISNATLIST(n__take(V1, V2)) → ACTIVATE(V2)
LENGTH(cons(N, L)) → ACTIVATE(L)
U721(tt, L) → ACTIVATE(L)
U711(tt, L, N) → ISNAT(activate(N))
U711(tt, L, N) → ACTIVATE(N)
U711(tt, L, N) → ACTIVATE(L)
U511(tt, V2) → ACTIVATE(V2)
TAKE(s(M), cons(N, IL)) → U911(isNatIList(activate(IL)), activate(IL), M, N)
U911(tt, IL, M, N) → U921(isNat(activate(M)), activate(IL), activate(M), activate(N))
U921(tt, IL, M, N) → U931(isNat(activate(N)), activate(IL), activate(M), activate(N))
U931(tt, IL, M, N) → ACTIVATE(N)
U931(tt, IL, M, N) → ACTIVATE(M)
U931(tt, IL, M, N) → ACTIVATE(IL)
U921(tt, IL, M, N) → ISNAT(activate(N))
U921(tt, IL, M, N) → ACTIVATE(N)
U921(tt, IL, M, N) → ACTIVATE(IL)
U921(tt, IL, M, N) → ACTIVATE(M)
U911(tt, IL, M, N) → ISNAT(activate(M))
U911(tt, IL, M, N) → ACTIVATE(M)
U911(tt, IL, M, N) → ACTIVATE(IL)
U911(tt, IL, M, N) → ACTIVATE(N)
TAKE(s(M), cons(N, IL)) → ISNATILIST(activate(IL))
TAKE(s(M), cons(N, IL)) → ACTIVATE(IL)
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACTIVATE(n__take(X1, X2)) → TAKE(activate(X1), activate(X2))
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X2)
ISNATLIST(n__take(V1, V2)) → U611(isNat(activate(V1)), activate(V2))
ISNATLIST(n__take(V1, V2)) → ISNAT(activate(V1))
ISNATLIST(n__take(V1, V2)) → ACTIVATE(V1)
ISNATLIST(n__take(V1, V2)) → ACTIVATE(V2)
POL( ISNAT(x1) ) = 2x1 + 2
POL( ISNATILIST(x1) ) = x1 + 2
POL( ISNATLIST(x1) ) = x1 + 2
POL( LENGTH(x1) ) = x1 + 2
POL( TAKE(x1, x2) ) = 2x1 + x2 + 2
POL( U411(x1, x2) ) = x2 + 2
POL( U511(x1, x2) ) = x2 + 2
POL( U611(x1, x2) ) = 2x2 + 2
POL( U711(x1, ..., x3) ) = x2 + 2x3 + 2
POL( U721(x1, x2) ) = x2 + 2
POL( U911(x1, ..., x4) ) = x2 + 2x3 + 2x4 + 2
POL( U921(x1, ..., x4) ) = x2 + 2x3 + 2x4 + 2
POL( U931(x1, ..., x4) ) = x2 + x3 + 2x4 + 2
POL( U41(x1, x2) ) = max{0, -1}
POL( U51(x1, x2) ) = 2
POL( U61(x1, x2) ) = max{0, -1}
POL( U71(x1, ..., x3) ) = 2x2
POL( U72(x1, x2) ) = 2x2
POL( U91(x1, ..., x4) ) = 2x2 + 2x3 + 2x4 + 2
POL( U92(x1, ..., x4) ) = 2x2 + 2x3 + 2x4 + 2
POL( U93(x1, ..., x4) ) = 2x2 + 2x3 + 2x4 + 2
POL( cons(x1, x2) ) = 2x1 + x2
POL( isNat(x1) ) = 2
POL( length(x1) ) = 2x1
POL( s(x1) ) = x1
POL( take(x1, x2) ) = 2x1 + 2x2 + 2
POL( isNatList(x1) ) = 2
POL( isNatIList(x1) ) = 0
POL( U11(x1) ) = max{0, 2x1 - 2}
POL( U21(x1) ) = max{0, -2}
POL( U31(x1) ) = max{0, -1}
POL( U42(x1) ) = max{0, x1 - 2}
POL( U52(x1) ) = 2
POL( U62(x1) ) = max{0, -2}
POL( n__take(x1, x2) ) = 2x1 + 2x2 + 2
POL( activate(x1) ) = x1
POL( n__zeros ) = 0
POL( zeros ) = 0
POL( n__0 ) = 0
POL( 0 ) = 0
POL( n__length(x1) ) = 2x1
POL( n__s(x1) ) = x1
POL( n__cons(x1, x2) ) = 2x1 + x2
POL( n__nil ) = 0
POL( nil ) = 0
POL( tt ) = 0
POL( U81(x1) ) = 2
POL( ACTIVATE(x1) ) = x1 + 2
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
take(X1, X2) → n__take(X1, X2)
length(nil) → 0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
U11(tt) → tt
U21(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
take(0, IL) → U81(isNatIList(IL))
U81(tt) → nil
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
zeros → cons(0, n__zeros)
zeros → n__zeros
0 → n__0
nil → n__nil
TAKE(0, IL) → ISNATILIST(IL)
ISNATILIST(V) → ISNATLIST(activate(V))
ISNATLIST(n__cons(V1, V2)) → U511(isNat(activate(V1)), activate(V2))
U511(tt, V2) → ISNATLIST(activate(V2))
ISNATLIST(n__cons(V1, V2)) → ISNAT(activate(V1))
ISNAT(n__length(V1)) → ISNATLIST(activate(V1))
ISNATLIST(n__cons(V1, V2)) → ACTIVATE(V1)
ACTIVATE(n__length(X)) → LENGTH(activate(X))
LENGTH(cons(N, L)) → U711(isNatList(activate(L)), activate(L), N)
U711(tt, L, N) → U721(isNat(activate(N)), activate(L))
U721(tt, L) → LENGTH(activate(L))
LENGTH(cons(N, L)) → ISNATLIST(activate(L))
ISNATLIST(n__cons(V1, V2)) → ACTIVATE(V2)
ACTIVATE(n__length(X)) → ACTIVATE(X)
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__cons(X1, X2)) → ACTIVATE(X1)
U611(tt, V2) → ISNATILIST(activate(V2))
ISNATILIST(V) → ACTIVATE(V)
ISNATILIST(n__cons(V1, V2)) → U411(isNat(activate(V1)), activate(V2))
U411(tt, V2) → ISNATILIST(activate(V2))
ISNATILIST(n__cons(V1, V2)) → ISNAT(activate(V1))
ISNAT(n__length(V1)) → ACTIVATE(V1)
ISNAT(n__s(V1)) → ISNAT(activate(V1))
ISNAT(n__s(V1)) → ACTIVATE(V1)
ISNATILIST(n__cons(V1, V2)) → ACTIVATE(V1)
ISNATILIST(n__cons(V1, V2)) → ACTIVATE(V2)
U411(tt, V2) → ACTIVATE(V2)
U611(tt, V2) → ACTIVATE(V2)
LENGTH(cons(N, L)) → ACTIVATE(L)
U721(tt, L) → ACTIVATE(L)
U711(tt, L, N) → ISNAT(activate(N))
U711(tt, L, N) → ACTIVATE(N)
U711(tt, L, N) → ACTIVATE(L)
U511(tt, V2) → ACTIVATE(V2)
TAKE(s(M), cons(N, IL)) → U911(isNatIList(activate(IL)), activate(IL), M, N)
U911(tt, IL, M, N) → U921(isNat(activate(M)), activate(IL), activate(M), activate(N))
U921(tt, IL, M, N) → U931(isNat(activate(N)), activate(IL), activate(M), activate(N))
U931(tt, IL, M, N) → ACTIVATE(N)
U931(tt, IL, M, N) → ACTIVATE(M)
U931(tt, IL, M, N) → ACTIVATE(IL)
U921(tt, IL, M, N) → ISNAT(activate(N))
U921(tt, IL, M, N) → ACTIVATE(N)
U921(tt, IL, M, N) → ACTIVATE(IL)
U921(tt, IL, M, N) → ACTIVATE(M)
U911(tt, IL, M, N) → ISNAT(activate(M))
U911(tt, IL, M, N) → ACTIVATE(M)
U911(tt, IL, M, N) → ACTIVATE(IL)
U911(tt, IL, M, N) → ACTIVATE(N)
TAKE(s(M), cons(N, IL)) → ISNATILIST(activate(IL))
TAKE(s(M), cons(N, IL)) → ACTIVATE(IL)
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U511(tt, V2) → ISNATLIST(activate(V2))
ISNATLIST(n__cons(V1, V2)) → U511(isNat(activate(V1)), activate(V2))
U511(tt, V2) → ACTIVATE(V2)
ACTIVATE(n__length(X)) → LENGTH(activate(X))
LENGTH(cons(N, L)) → U711(isNatList(activate(L)), activate(L), N)
U711(tt, L, N) → U721(isNat(activate(N)), activate(L))
U721(tt, L) → LENGTH(activate(L))
LENGTH(cons(N, L)) → ISNATLIST(activate(L))
ISNATLIST(n__cons(V1, V2)) → ISNAT(activate(V1))
ISNAT(n__length(V1)) → ISNATLIST(activate(V1))
ISNATLIST(n__cons(V1, V2)) → ACTIVATE(V1)
ACTIVATE(n__length(X)) → ACTIVATE(X)
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__cons(X1, X2)) → ACTIVATE(X1)
ISNATLIST(n__cons(V1, V2)) → ACTIVATE(V2)
ISNAT(n__length(V1)) → ACTIVATE(V1)
ISNAT(n__s(V1)) → ISNAT(activate(V1))
ISNAT(n__s(V1)) → ACTIVATE(V1)
LENGTH(cons(N, L)) → ACTIVATE(L)
U721(tt, L) → ACTIVATE(L)
U711(tt, L, N) → ISNAT(activate(N))
U711(tt, L, N) → ACTIVATE(N)
U711(tt, L, N) → ACTIVATE(L)
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACTIVATE(n__length(X)) → LENGTH(activate(X))
ISNAT(n__length(V1)) → ISNATLIST(activate(V1))
ACTIVATE(n__length(X)) → ACTIVATE(X)
ISNAT(n__length(V1)) → ACTIVATE(V1)
POL( ISNAT(x1) ) = 2x1 + 2
POL( ISNATLIST(x1) ) = 2x1 + 2
POL( LENGTH(x1) ) = 2x1 + 2
POL( U511(x1, x2) ) = 2x2 + 2
POL( U711(x1, ..., x3) ) = 2x2 + 2x3 + 2
POL( U721(x1, x2) ) = 2x2 + 2
POL( U41(x1, x2) ) = max{0, -2}
POL( U51(x1, x2) ) = max{0, -2}
POL( U61(x1, x2) ) = 2x1
POL( U71(x1, ..., x3) ) = 2x2 + 2x3 + 1
POL( U72(x1, x2) ) = 2x2 + 1
POL( U91(x1, ..., x4) ) = 2x2 + x4
POL( U92(x1, ..., x4) ) = 2x2 + x4
POL( U93(x1, ..., x4) ) = 2x2 + x4
POL( cons(x1, x2) ) = x1 + x2
POL( isNat(x1) ) = max{0, -2}
POL( length(x1) ) = 2x1 + 1
POL( s(x1) ) = x1
POL( take(x1, x2) ) = 2x2
POL( isNatList(x1) ) = max{0, -2}
POL( U11(x1) ) = max{0, 2x1 - 2}
POL( U21(x1) ) = 0
POL( U31(x1) ) = max{0, -2}
POL( U42(x1) ) = max{0, -1}
POL( isNatIList(x1) ) = 2x1
POL( U52(x1) ) = max{0, -2}
POL( U62(x1) ) = max{0, -2}
POL( n__take(x1, x2) ) = 2x2
POL( activate(x1) ) = x1
POL( n__zeros ) = 0
POL( zeros ) = 0
POL( n__0 ) = 0
POL( 0 ) = 0
POL( n__length(x1) ) = 2x1 + 1
POL( n__s(x1) ) = x1
POL( n__cons(x1, x2) ) = x1 + x2
POL( n__nil ) = 0
POL( nil ) = 0
POL( tt ) = 0
POL( U81(x1) ) = max{0, -1}
POL( ACTIVATE(x1) ) = 2x1 + 2
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
take(X1, X2) → n__take(X1, X2)
length(nil) → 0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
U11(tt) → tt
U21(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
isNatIList(V) → U31(isNatList(activate(V)))
U31(tt) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
take(0, IL) → U81(isNatIList(IL))
U81(tt) → nil
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
zeros → cons(0, n__zeros)
zeros → n__zeros
0 → n__0
nil → n__nil
U511(tt, V2) → ISNATLIST(activate(V2))
ISNATLIST(n__cons(V1, V2)) → U511(isNat(activate(V1)), activate(V2))
U511(tt, V2) → ACTIVATE(V2)
LENGTH(cons(N, L)) → U711(isNatList(activate(L)), activate(L), N)
U711(tt, L, N) → U721(isNat(activate(N)), activate(L))
U721(tt, L) → LENGTH(activate(L))
LENGTH(cons(N, L)) → ISNATLIST(activate(L))
ISNATLIST(n__cons(V1, V2)) → ISNAT(activate(V1))
ISNATLIST(n__cons(V1, V2)) → ACTIVATE(V1)
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__cons(X1, X2)) → ACTIVATE(X1)
ISNATLIST(n__cons(V1, V2)) → ACTIVATE(V2)
ISNAT(n__s(V1)) → ISNAT(activate(V1))
ISNAT(n__s(V1)) → ACTIVATE(V1)
LENGTH(cons(N, L)) → ACTIVATE(L)
U721(tt, L) → ACTIVATE(L)
U711(tt, L, N) → ISNAT(activate(N))
U711(tt, L, N) → ACTIVATE(N)
U711(tt, L, N) → ACTIVATE(L)
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ACTIVATE(n__cons(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__s(X)) → ACTIVATE(X)
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ACTIVATE(n__cons(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__s(X)) → ACTIVATE(X)
From the DPs we obtained the following set of size-change graphs:
ISNAT(n__s(V1)) → ISNAT(activate(V1))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNAT(n__s(V1)) → ISNAT(activate(V1))
POL(ISNAT(x1)) = 4A + 2A · x1
POL(n__s(x1)) = 3A + 1A · x1
POL(activate(x1)) = 1A + 0A · x1
POL(n__zeros) = 0A
POL(zeros) = 1A
POL(n__take(x1, x2)) = 2A + 0A · x1 + 1A · x2
POL(take(x1, x2)) = 2A + 0A · x1 + 1A · x2
POL(n__0) = 1A
POL(0) = 1A
POL(n__length(x1)) = 2A + 0A · x1
POL(length(x1)) = 2A + 0A · x1
POL(s(x1)) = 3A + 1A · x1
POL(n__cons(x1, x2)) = 1A + 0A · x1 + 1A · x2
POL(cons(x1, x2)) = 1A + 0A · x1 + 1A · x2
POL(n__nil) = 2A
POL(nil) = 2A
POL(U71(x1, x2, x3)) = -I + 1A · x1 + 1A · x2 + 0A · x3
POL(isNatList(x1)) = -I + 0A · x1
POL(tt) = 2A
POL(U51(x1, x2)) = 1A + -I · x1 + 0A · x2
POL(isNat(x1)) = -I + 1A · x1
POL(U11(x1)) = -I + 1A · x1
POL(U61(x1, x2)) = 2A + -I · x1 + 1A · x2
POL(U21(x1)) = 4A + -I · x1
POL(U62(x1)) = -I + 0A · x1
POL(isNatIList(x1)) = 2A + 1A · x1
POL(U31(x1)) = 2A + -I · x1
POL(U41(x1, x2)) = 0A + 0A · x1 + 1A · x2
POL(U42(x1)) = -I + 0A · x1
POL(U52(x1)) = -I + 0A · x1
POL(U72(x1, x2)) = 3A + -I · x1 + 1A · x2
POL(U81(x1)) = -I + 0A · x1
POL(U91(x1, x2, x3, x4)) = 3A + 0A · x1 + 2A · x2 + 1A · x3 + 0A · x4
POL(U92(x1, x2, x3, x4)) = 3A + -I · x1 + 2A · x2 + 1A · x3 + 0A · x4
POL(U93(x1, x2, x3, x4)) = 3A + -I · x1 + 2A · x2 + 1A · x3 + 0A · x4
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
take(X1, X2) → n__take(X1, X2)
length(nil) → 0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
U11(tt) → tt
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
isNatIList(n__zeros) → tt
U62(tt) → tt
isNatIList(V) → U31(isNatList(activate(V)))
U31(tt) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
take(0, IL) → U81(isNatIList(IL))
U81(tt) → nil
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
zeros → cons(0, n__zeros)
zeros → n__zeros
0 → n__0
nil → n__nil
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATLIST(n__cons(V1, V2)) → U511(isNat(activate(V1)), activate(V2))
U511(tt, V2) → ISNATLIST(activate(V2))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATLIST(n__cons(n__zeros, y1)) → U511(isNat(zeros), activate(y1))
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
ISNATLIST(n__cons(n__0, y1)) → U511(isNat(0), activate(y1))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, V2) → ISNATLIST(activate(V2))
ISNATLIST(n__cons(n__zeros, y1)) → U511(isNat(zeros), activate(y1))
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
ISNATLIST(n__cons(n__0, y1)) → U511(isNat(0), activate(y1))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U511(tt, n__zeros) → ISNATLIST(zeros)
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
U511(tt, n__0) → ISNATLIST(0)
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
U511(tt, n__nil) → ISNATLIST(nil)
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__zeros, y1)) → U511(isNat(zeros), activate(y1))
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
ISNATLIST(n__cons(n__0, y1)) → U511(isNat(0), activate(y1))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(zeros)
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
U511(tt, n__0) → ISNATLIST(0)
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
U511(tt, n__nil) → ISNATLIST(nil)
U511(tt, x0) → ISNATLIST(x0)
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(n__zeros), activate(y0))
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
ISNATLIST(n__cons(n__0, y1)) → U511(isNat(0), activate(y1))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(zeros)
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
U511(tt, n__0) → ISNATLIST(0)
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
U511(tt, n__nil) → ISNATLIST(nil)
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(n__zeros), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U511(tt, n__zeros) → ISNATLIST(zeros)
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__0, y1)) → U511(isNat(0), activate(y1))
U511(tt, n__0) → ISNATLIST(0)
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(n__zeros)
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__0, y1)) → U511(isNat(0), activate(y1))
U511(tt, n__0) → ISNATLIST(0)
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(n__zeros)
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__0) → ISNATLIST(0)
ISNATLIST(n__cons(n__0, y1)) → U511(isNat(0), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U511(tt, n__0) → ISNATLIST(n__0)
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
ISNATLIST(n__cons(n__0, y1)) → U511(isNat(0), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
U511(tt, n__0) → ISNATLIST(n__0)
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__0, y1)) → U511(isNat(0), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U511(tt, n__nil) → ISNATLIST(n__nil)
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__nil) → ISNATLIST(n__nil)
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATLIST(n__cons(n__nil, y0)) → U511(isNat(n__nil), activate(y0))
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
ISNATLIST(n__cons(n__nil, y0)) → U511(isNat(n__nil), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(n__cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(n__0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(n__cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(n__0, n__zeros)), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(n__0, n__zeros)), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(cons(n__0, n__zeros))
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(n__0, n__zeros)), activate(y0))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(n__cons(n__0, n__zeros)), activate(y0))
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(cons(n__0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(n__cons(n__0, n__zeros)), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U511(tt, n__zeros) → ISNATLIST(n__cons(n__0, n__zeros))
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(n__cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U511(tt, n__length(x0)) → ISNATLIST(length(activate(x0)))
POL( U511(x1, x2) ) = max{0, 2x1 + 2x2 - 2}
POL( ISNATLIST(x1) ) = x1 + 2
POL( U41(x1, x2) ) = x1
POL( U51(x1, x2) ) = max{0, 2x1 - 2}
POL( U61(x1, x2) ) = x1
POL( U71(x1, ..., x3) ) = max{0, -2}
POL( U72(x1, x2) ) = max{0, -2}
POL( U91(x1, ..., x4) ) = max{0, -2}
POL( U92(x1, ..., x4) ) = max{0, -1}
POL( U93(x1, ..., x4) ) = max{0, -2}
POL( cons(x1, x2) ) = 2x2
POL( length(x1) ) = 1
POL( s(x1) ) = max{0, -2}
POL( take(x1, x2) ) = max{0, -2}
POL( U11(x1) ) = x1
POL( isNatList(x1) ) = 2
POL( U21(x1) ) = 2
POL( isNat(x1) ) = 2
POL( U31(x1) ) = 2
POL( U42(x1) ) = 2
POL( isNatIList(x1) ) = 2
POL( U52(x1) ) = x1
POL( U62(x1) ) = x1
POL( n__take(x1, x2) ) = max{0, -2}
POL( activate(x1) ) = x1
POL( n__zeros ) = 0
POL( zeros ) = 0
POL( n__0 ) = 0
POL( 0 ) = 0
POL( n__length(x1) ) = 1
POL( n__s(x1) ) = max{0, -1}
POL( n__cons(x1, x2) ) = 2x2
POL( n__nil ) = 0
POL( nil ) = 0
POL( U81(x1) ) = max{0, -1}
POL( tt ) = 2
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
take(X1, X2) → n__take(X1, X2)
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
0 → n__0
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U11(tt) → tt
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
U21(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
isNatIList(n__zeros) → tt
U62(tt) → tt
isNatIList(V) → U31(isNatList(activate(V)))
U31(tt) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
zeros → cons(0, n__zeros)
zeros → n__zeros
nil → n__nil
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(n__cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U511(tt, n__s(x0)) → ISNATLIST(s(activate(x0)))
POL(ISNATLIST(x1)) = 0A + 0A · x1
POL(n__cons(x1, x2)) = 1A + 1A · x1 + 0A · x2
POL(n__take(x1, x2)) = -I + -I · x1 + 0A · x2
POL(U511(x1, x2)) = -I + 1A · x1 + 0A · x2
POL(isNat(x1)) = -I + 0A · x1
POL(take(x1, x2)) = -I + -I · x1 + 0A · x2
POL(activate(x1)) = -I + 0A · x1
POL(tt) = 0A
POL(n__length(x1)) = -I + 3A · x1
POL(length(x1)) = -I + 3A · x1
POL(n__s(x1)) = 0A + -I · x1
POL(s(x1)) = 0A + -I · x1
POL(cons(x1, x2)) = 1A + 1A · x1 + 0A · x2
POL(n__0) = 0A
POL(n__zeros) = 1A
POL(0) = 0A
POL(zeros) = 1A
POL(n__nil) = 0A
POL(nil) = 0A
POL(U81(x1)) = -I + 0A · x1
POL(isNatIList(x1)) = -I + 0A · x1
POL(U91(x1, x2, x3, x4)) = -I + -I · x1 + 0A · x2 + -I · x3 + 1A · x4
POL(U11(x1)) = -I + 3A · x1
POL(isNatList(x1)) = -I + 0A · x1
POL(U21(x1)) = 0A + -I · x1
POL(U71(x1, x2, x3)) = -I + -I · x1 + 0A · x2 + 0A · x3
POL(U51(x1, x2)) = -I + 1A · x1 + 0A · x2
POL(U61(x1, x2)) = -I + -I · x1 + 0A · x2
POL(U62(x1)) = -I + 0A · x1
POL(U31(x1)) = -I + 0A · x1
POL(U41(x1, x2)) = -I + 0A · x1 + 0A · x2
POL(U42(x1)) = -I + 0A · x1
POL(U52(x1)) = -I + 0A · x1
POL(U72(x1, x2)) = -I + 0A · x1 + -I · x2
POL(U92(x1, x2, x3, x4)) = -I + -I · x1 + 0A · x2 + -I · x3 + 1A · x4
POL(U93(x1, x2, x3, x4)) = -I + 1A · x1 + 0A · x2 + -I · x3 + 1A · x4
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
take(X1, X2) → n__take(X1, X2)
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
0 → n__0
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U11(tt) → tt
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
U21(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
isNatIList(n__zeros) → tt
U62(tt) → tt
isNatIList(V) → U31(isNatList(activate(V)))
U31(tt) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
zeros → cons(0, n__zeros)
zeros → n__zeros
nil → n__nil
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(n__cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(activate(x0))), activate(y1))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(activate(x0))), activate(y1))
POL( U511(x1, x2) ) = 2x1 + 2x2
POL( ISNATLIST(x1) ) = 2x1
POL( U41(x1, x2) ) = max{0, -1}
POL( U51(x1, x2) ) = max{0, -2}
POL( U61(x1, x2) ) = 2
POL( U71(x1, ..., x3) ) = 2
POL( U72(x1, x2) ) = 2
POL( U91(x1, ..., x4) ) = 2x2 + x4
POL( U92(x1, ..., x4) ) = 2x2 + x4
POL( U93(x1, ..., x4) ) = 2x2 + x4
POL( cons(x1, x2) ) = x1 + 2x2
POL( length(x1) ) = 2
POL( s(x1) ) = 2
POL( take(x1, x2) ) = x2
POL( U11(x1) ) = max{0, -2}
POL( isNatList(x1) ) = 2
POL( U21(x1) ) = max{0, -2}
POL( isNat(x1) ) = max{0, x1 - 1}
POL( U31(x1) ) = max{0, -2}
POL( U42(x1) ) = max{0, -1}
POL( isNatIList(x1) ) = 0
POL( U52(x1) ) = max{0, -1}
POL( U62(x1) ) = 1
POL( n__take(x1, x2) ) = x2
POL( activate(x1) ) = x1
POL( n__zeros ) = 0
POL( zeros ) = 0
POL( n__0 ) = 0
POL( 0 ) = 0
POL( n__length(x1) ) = 2
POL( n__s(x1) ) = 2
POL( n__cons(x1, x2) ) = x1 + 2x2
POL( n__nil ) = 0
POL( nil ) = 0
POL( U81(x1) ) = max{0, 2x1 - 1}
POL( tt ) = 0
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
take(X1, X2) → n__take(X1, X2)
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
0 → n__0
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U11(tt) → tt
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
U21(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
isNatIList(n__zeros) → tt
U62(tt) → tt
isNatIList(V) → U31(isNatList(activate(V)))
U31(tt) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
zeros → cons(0, n__zeros)
zeros → n__zeros
nil → n__nil
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(n__cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATLIST(n__cons(n__take(x0, x1), y1)) → U511(isNat(take(activate(x0), activate(x1))), activate(y1))
POL( U511(x1, x2) ) = x1 + x2 + 2
POL( ISNATLIST(x1) ) = x1 + 2
POL( U41(x1, x2) ) = max{0, -1}
POL( U51(x1, x2) ) = 2
POL( U61(x1, x2) ) = max{0, -1}
POL( U71(x1, ..., x3) ) = 2x2 + 2x3 + 1
POL( U72(x1, x2) ) = max{0, -2}
POL( U91(x1, ..., x4) ) = 2x2 + 2x4 + 2
POL( U92(x1, ..., x4) ) = 2x2 + 2x4 + 2
POL( U93(x1, ..., x4) ) = 2x2 + 2x4 + 2
POL( cons(x1, x2) ) = 2x1 + x2
POL( length(x1) ) = 2x1 + 2
POL( s(x1) ) = max{0, -2}
POL( take(x1, x2) ) = 2x2 + 2
POL( U11(x1) ) = max{0, -2}
POL( isNatList(x1) ) = 2
POL( U21(x1) ) = max{0, -2}
POL( isNat(x1) ) = max{0, 2x1 - 1}
POL( U31(x1) ) = max{0, x1 - 2}
POL( U42(x1) ) = 0
POL( isNatIList(x1) ) = max{0, -2}
POL( U52(x1) ) = max{0, -2}
POL( U62(x1) ) = max{0, -2}
POL( n__take(x1, x2) ) = 2x2 + 2
POL( activate(x1) ) = x1
POL( n__zeros ) = 0
POL( zeros ) = 0
POL( n__0 ) = 0
POL( 0 ) = 0
POL( n__length(x1) ) = 2x1 + 2
POL( n__s(x1) ) = max{0, -1}
POL( n__cons(x1, x2) ) = 2x1 + x2
POL( n__nil ) = 2
POL( nil ) = 2
POL( U81(x1) ) = 2
POL( tt ) = 0
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
take(X1, X2) → n__take(X1, X2)
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
cons(X1, X2) → n__cons(X1, X2)
0 → n__0
length(nil) → 0
length(X) → n__length(X)
s(X) → n__s(X)
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U11(tt) → tt
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
U21(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
isNatIList(V) → U31(isNatList(activate(V)))
U31(tt) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
zeros → cons(0, n__zeros)
zeros → n__zeros
nil → n__nil
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(n__cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U511(tt, n__take(x0, x1)) → ISNATLIST(take(activate(x0), activate(x1)))
POL(U511(x1, x2)) = 2A + -I · x1 + 1A · x2
POL(tt) = 2A
POL(n__take(x1, x2)) = 2A + 1A · x1 + -I · x2
POL(ISNATLIST(x1)) = 2A + 0A · x1
POL(take(x1, x2)) = 2A + 1A · x1 + -I · x2
POL(activate(x1)) = 1A + 0A · x1
POL(n__cons(x1, x2)) = 0A + -I · x1 + 1A · x2
POL(isNat(x1)) = 0A + 0A · x1
POL(cons(x1, x2)) = 0A + -I · x1 + 1A · x2
POL(n__0) = 4A
POL(n__zeros) = 0A
POL(0) = 4A
POL(zeros) = 1A
POL(n__length(x1)) = 2A + 0A · x1
POL(length(x1)) = 2A + 0A · x1
POL(n__s(x1)) = 2A + 1A · x1
POL(s(x1)) = 2A + 1A · x1
POL(n__nil) = 5A
POL(nil) = 5A
POL(U81(x1)) = 5A + -I · x1
POL(isNatIList(x1)) = 2A + -I · x1
POL(U91(x1, x2, x3, x4)) = 3A + -I · x1 + -I · x2 + 2A · x3 + -I · x4
POL(U11(x1)) = -I + 0A · x1
POL(isNatList(x1)) = 1A + 0A · x1
POL(U21(x1)) = -I + 0A · x1
POL(U71(x1, x2, x3)) = -I + 1A · x1 + 1A · x2 + -I · x3
POL(U51(x1, x2)) = 1A + -I · x1 + 0A · x2
POL(U61(x1, x2)) = 0A + 1A · x1 + -I · x2
POL(U62(x1)) = 3A + 0A · x1
POL(U31(x1)) = 2A + -I · x1
POL(U41(x1, x2)) = 2A + -I · x1 + -I · x2
POL(U42(x1)) = 2A + -I · x1
POL(U52(x1)) = 0A + 0A · x1
POL(U72(x1, x2)) = 3A + -I · x1 + 1A · x2
POL(U92(x1, x2, x3, x4)) = -I + 1A · x1 + -I · x2 + 2A · x3 + -I · x4
POL(U93(x1, x2, x3, x4)) = 3A + -I · x1 + -I · x2 + 2A · x3 + -I · x4
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
take(X1, X2) → n__take(X1, X2)
cons(X1, X2) → n__cons(X1, X2)
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
0 → n__0
length(nil) → 0
length(X) → n__length(X)
s(X) → n__s(X)
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U11(tt) → tt
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
U21(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
isNatIList(n__zeros) → tt
U62(tt) → tt
isNatIList(V) → U31(isNatList(activate(V)))
U31(tt) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
zeros → cons(0, n__zeros)
zeros → n__zeros
nil → n__nil
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(n__cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(activate(x0), x1)), activate(y1))
POL(ISNATLIST(x1)) = 0 +
[ 0, 1 ] · x1
POL(n__cons(x1, x2)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 1 0 / · x1 +
/ 0 0 \ \ 0 1 / · x2
POL(U511(x1, x2)) = 0 +
[ 0, 0 ] · x1 +
[ 0, 1 ] · x2
POL(isNat(x1)) =
/ 0 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1
POL(cons(x1, x2)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 1 0 / · x1 +
/ 0 0 \ \ 0 1 / · x2
POL(activate(x1)) =
/ 0 \ \ 0 / +
/ 1 0 \ \ 0 1 / · x1
POL(tt) =
/ 0 \ \ 0 /
POL(n__0) =
/ 0 \ \ 0 /
POL(n__zeros) =
/ 1 \ \ 0 /
POL(0) =
/ 0 \ \ 0 /
POL(zeros) =
/ 1 \ \ 0 /
POL(n__take(x1, x2)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 0 \ \ 0 1 / · x2
POL(take(x1, x2)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 0 \ \ 0 1 / · x2
POL(n__length(x1)) =
/ 1 \ \ 0 / +
/ 1 0 \ \ 0 0 / · x1
POL(length(x1)) =
/ 1 \ \ 0 / +
/ 1 0 \ \ 0 0 / · x1
POL(n__s(x1)) =
/ 0 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1
POL(s(x1)) =
/ 0 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1
POL(n__nil) =
/ 0 \ \ 0 /
POL(nil) =
/ 0 \ \ 0 /
POL(U11(x1)) =
/ 0 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1
POL(isNatList(x1)) =
/ 1 \ \ 1 / +
/ 1 1 \ \ 1 1 / · x1
POL(U21(x1)) =
/ 0 \ \ 0 / +
/ 1 0 \ \ 0 0 / · x1
POL(U71(x1, x2, x3)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 0 \ \ 0 0 / · x2 +
/ 0 0 \ \ 0 0 / · x3
POL(U51(x1, x2)) =
/ 1 \ \ 1 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 1 \ \ 0 1 / · x2
POL(U61(x1, x2)) =
/ 1 \ \ 1 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 1 \ \ 0 1 / · x2
POL(U62(x1)) =
/ 1 \ \ 1 / +
/ 0 1 \ \ 0 0 / · x1
POL(isNatIList(x1)) =
/ 0 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1
POL(U31(x1)) =
/ 0 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1
POL(U41(x1, x2)) =
/ 0 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 0 \ \ 0 0 / · x2
POL(U42(x1)) =
/ 0 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1
POL(U52(x1)) =
/ 1 \ \ 1 / +
/ 0 0 \ \ 0 0 / · x1
POL(U72(x1, x2)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 0 \ \ 0 0 / · x2
POL(U81(x1)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1
POL(U91(x1, x2, x3, x4)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 0 \ \ 0 1 / · x2 +
/ 0 0 \ \ 0 0 / · x3 +
/ 0 0 \ \ 1 0 / · x4
POL(U92(x1, x2, x3, x4)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 0 \ \ 0 1 / · x2 +
/ 0 0 \ \ 0 0 / · x3 +
/ 0 0 \ \ 1 0 / · x4
POL(U93(x1, x2, x3, x4)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 0 \ \ 0 1 / · x2 +
/ 0 0 \ \ 0 0 / · x3 +
/ 0 0 \ \ 1 0 / · x4
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
cons(X1, X2) → n__cons(X1, X2)
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
0 → n__0
take(X1, X2) → n__take(X1, X2)
length(nil) → 0
length(X) → n__length(X)
s(X) → n__s(X)
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U11(tt) → tt
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
U21(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
isNatIList(n__zeros) → tt
U62(tt) → tt
isNatIList(V) → U31(isNatList(activate(V)))
U31(tt) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
take(0, IL) → U81(isNatIList(IL))
U81(tt) → nil
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
zeros → cons(0, n__zeros)
zeros → n__zeros
nil → n__nil
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(activate(x0), x1))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(n__cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
LENGTH(cons(N, L)) → U711(isNatList(activate(L)), activate(L), N)
U711(tt, L, N) → U721(isNat(activate(N)), activate(L))
U721(tt, L) → LENGTH(activate(L))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U711(tt, L, N) → U721(isNat(activate(N)), activate(L))
POL( LENGTH(x1) ) = 2x1
POL( U711(x1, ..., x3) ) = max{0, 2x1 + 2x2 - 1}
POL( U721(x1, x2) ) = 2x2
POL( U41(x1, x2) ) = 2x2 + 1
POL( U51(x1, x2) ) = 2x2
POL( U61(x1, x2) ) = x1 + x2
POL( U71(x1, ..., x3) ) = 2x2
POL( U72(x1, x2) ) = 2x2
POL( U91(x1, ..., x4) ) = 2x2 + 2x3
POL( U92(x1, ..., x4) ) = 2x2 + 2x3
POL( U93(x1, ..., x4) ) = 2x2 + 2x3
POL( cons(x1, x2) ) = 2x2
POL( isNatList(x1) ) = x1
POL( length(x1) ) = x1
POL( s(x1) ) = 2x1
POL( take(x1, x2) ) = x1 + x2
POL( isNat(x1) ) = x1
POL( U11(x1) ) = x1
POL( U21(x1) ) = x1
POL( U31(x1) ) = x1 + 1
POL( U42(x1) ) = max{0, 2x1 - 1}
POL( isNatIList(x1) ) = x1 + 1
POL( U52(x1) ) = max{0, 2x1 - 1}
POL( U62(x1) ) = 1
POL( n__take(x1, x2) ) = x1 + x2
POL( activate(x1) ) = x1
POL( n__zeros ) = 0
POL( zeros ) = 0
POL( n__0 ) = 1
POL( 0 ) = 1
POL( n__length(x1) ) = x1
POL( n__s(x1) ) = 2x1
POL( n__cons(x1, x2) ) = 2x2
POL( n__nil ) = 1
POL( nil ) = 1
POL( tt ) = 1
POL( U81(x1) ) = 1
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
take(X1, X2) → n__take(X1, X2)
length(nil) → 0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
U11(tt) → tt
U21(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
isNatIList(n__zeros) → tt
U62(tt) → tt
isNatIList(V) → U31(isNatList(activate(V)))
U31(tt) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
take(0, IL) → U81(isNatIList(IL))
U81(tt) → nil
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
zeros → cons(0, n__zeros)
zeros → n__zeros
0 → n__0
nil → n__nil
LENGTH(cons(N, L)) → U711(isNatList(activate(L)), activate(L), N)
U721(tt, L) → LENGTH(activate(L))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATILIST(n__cons(V1, V2)) → U411(isNat(activate(V1)), activate(V2))
U411(tt, V2) → ISNATILIST(activate(V2))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATILIST(n__cons(n__zeros, y1)) → U411(isNat(zeros), activate(y1))
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
ISNATILIST(n__cons(n__0, y1)) → U411(isNat(0), activate(y1))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, V2) → ISNATILIST(activate(V2))
ISNATILIST(n__cons(n__zeros, y1)) → U411(isNat(zeros), activate(y1))
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
ISNATILIST(n__cons(n__0, y1)) → U411(isNat(0), activate(y1))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U411(tt, n__zeros) → ISNATILIST(zeros)
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
U411(tt, n__0) → ISNATILIST(0)
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
U411(tt, n__nil) → ISNATILIST(nil)
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__zeros, y1)) → U411(isNat(zeros), activate(y1))
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
ISNATILIST(n__cons(n__0, y1)) → U411(isNat(0), activate(y1))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(zeros)
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
U411(tt, n__0) → ISNATILIST(0)
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
U411(tt, n__nil) → ISNATILIST(nil)
U411(tt, x0) → ISNATILIST(x0)
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(n__zeros), activate(y0))
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
ISNATILIST(n__cons(n__0, y1)) → U411(isNat(0), activate(y1))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(zeros)
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
U411(tt, n__0) → ISNATILIST(0)
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
U411(tt, n__nil) → ISNATILIST(nil)
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(n__zeros), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U411(tt, n__zeros) → ISNATILIST(zeros)
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
ISNATILIST(n__cons(n__0, y1)) → U411(isNat(0), activate(y1))
U411(tt, n__0) → ISNATILIST(0)
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(n__zeros)
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
ISNATILIST(n__cons(n__0, y1)) → U411(isNat(0), activate(y1))
U411(tt, n__0) → ISNATILIST(0)
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(n__zeros)
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
U411(tt, n__0) → ISNATILIST(0)
ISNATILIST(n__cons(n__0, y1)) → U411(isNat(0), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U411(tt, n__0) → ISNATILIST(n__0)
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
ISNATILIST(n__cons(n__0, y1)) → U411(isNat(0), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
U411(tt, n__0) → ISNATILIST(n__0)
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
ISNATILIST(n__cons(n__0, y1)) → U411(isNat(0), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U411(tt, n__nil) → ISNATILIST(n__nil)
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__nil) → ISNATILIST(n__nil)
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATILIST(n__cons(n__nil, y0)) → U411(isNat(n__nil), activate(y0))
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
ISNATILIST(n__cons(n__nil, y0)) → U411(isNat(n__nil), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(n__cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(n__0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(n__cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(n__0, n__zeros)), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(n__0, n__zeros)), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(cons(n__0, n__zeros))
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(n__0, n__zeros)), activate(y0))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(n__cons(n__0, n__zeros)), activate(y0))
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(cons(n__0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(n__cons(n__0, n__zeros)), activate(y0))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
U411(tt, n__zeros) → ISNATILIST(n__cons(n__0, n__zeros))
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(n__cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U411(tt, n__length(x0)) → ISNATILIST(length(activate(x0)))
POL( U411(x1, x2) ) = max{0, 2x1 + 2x2 - 2}
POL( ISNATILIST(x1) ) = x1 + 2
POL( U41(x1, x2) ) = x1
POL( U51(x1, x2) ) = max{0, 2x1 - 2}
POL( U61(x1, x2) ) = x1
POL( U71(x1, ..., x3) ) = max{0, -2}
POL( U72(x1, x2) ) = max{0, -2}
POL( U91(x1, ..., x4) ) = max{0, -2}
POL( U92(x1, ..., x4) ) = max{0, -1}
POL( U93(x1, ..., x4) ) = max{0, -2}
POL( cons(x1, x2) ) = 2x2
POL( length(x1) ) = 1
POL( s(x1) ) = max{0, -2}
POL( take(x1, x2) ) = max{0, -2}
POL( U11(x1) ) = x1
POL( isNatList(x1) ) = 2
POL( U21(x1) ) = 2
POL( isNat(x1) ) = 2
POL( U31(x1) ) = 2
POL( U42(x1) ) = 2
POL( isNatIList(x1) ) = 2
POL( U52(x1) ) = x1
POL( U62(x1) ) = x1
POL( n__take(x1, x2) ) = max{0, -2}
POL( activate(x1) ) = x1
POL( n__zeros ) = 0
POL( zeros ) = 0
POL( n__0 ) = 0
POL( 0 ) = 0
POL( n__length(x1) ) = 1
POL( n__s(x1) ) = max{0, -1}
POL( n__cons(x1, x2) ) = 2x2
POL( n__nil ) = 0
POL( nil ) = 0
POL( U81(x1) ) = max{0, -1}
POL( tt ) = 2
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
take(X1, X2) → n__take(X1, X2)
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
0 → n__0
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U11(tt) → tt
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
U21(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
isNatIList(n__zeros) → tt
U62(tt) → tt
isNatIList(V) → U31(isNatList(activate(V)))
U31(tt) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
zeros → cons(0, n__zeros)
zeros → n__zeros
nil → n__nil
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(n__cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATILIST(n__cons(n__take(x0, x1), y1)) → U411(isNat(take(activate(x0), activate(x1))), activate(y1))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(activate(x0))), activate(y1))
POL( U411(x1, x2) ) = 2x2 + 1
POL( ISNATILIST(x1) ) = 2x1 + 1
POL( U41(x1, x2) ) = 0
POL( U51(x1, x2) ) = x2
POL( U61(x1, x2) ) = 2x1 + 2
POL( U71(x1, ..., x3) ) = max{0, -1}
POL( U72(x1, x2) ) = max{0, -2}
POL( U91(x1, ..., x4) ) = 2x2 + 2x4 + 1
POL( U92(x1, ..., x4) ) = 2x2 + 2x4 + 1
POL( U93(x1, ..., x4) ) = 2x2 + 2x4 + 1
POL( cons(x1, x2) ) = 2x1 + x2
POL( length(x1) ) = 1
POL( s(x1) ) = max{0, -2}
POL( take(x1, x2) ) = 2x2 + 1
POL( U11(x1) ) = max{0, -2}
POL( isNatList(x1) ) = x1 + 1
POL( U21(x1) ) = max{0, 2x1 - 2}
POL( isNat(x1) ) = max{0, -2}
POL( U31(x1) ) = max{0, -2}
POL( U42(x1) ) = max{0, -1}
POL( isNatIList(x1) ) = max{0, -2}
POL( U52(x1) ) = max{0, x1 - 2}
POL( U62(x1) ) = max{0, -2}
POL( n__take(x1, x2) ) = 2x2 + 1
POL( activate(x1) ) = x1
POL( n__zeros ) = 0
POL( zeros ) = 0
POL( n__0 ) = 0
POL( 0 ) = 0
POL( n__length(x1) ) = 1
POL( n__s(x1) ) = max{0, -1}
POL( n__cons(x1, x2) ) = 2x1 + x2
POL( n__nil ) = 0
POL( nil ) = 0
POL( U81(x1) ) = max{0, -1}
POL( tt ) = 0
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
take(X1, X2) → n__take(X1, X2)
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
0 → n__0
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U11(tt) → tt
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
U21(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
isNatIList(V) → U31(isNatList(activate(V)))
U31(tt) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
zeros → cons(0, n__zeros)
zeros → n__zeros
nil → n__nil
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(n__cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(activate(x0))), activate(y1))
POL( U411(x1, x2) ) = x2
POL( ISNATILIST(x1) ) = x1
POL( U41(x1, x2) ) = max{0, -2}
POL( U51(x1, x2) ) = max{0, -1}
POL( U61(x1, x2) ) = max{0, -2}
POL( U71(x1, ..., x3) ) = 2
POL( U72(x1, x2) ) = 2
POL( U91(x1, ..., x4) ) = 2x2 + 2x4 + 2
POL( U92(x1, ..., x4) ) = 2x2 + 2x4 + 2
POL( U93(x1, ..., x4) ) = 2x2 + x4 + 2
POL( cons(x1, x2) ) = x1 + x2
POL( length(x1) ) = 2
POL( s(x1) ) = 1
POL( take(x1, x2) ) = 2x2 + 2
POL( U11(x1) ) = x1
POL( isNatList(x1) ) = 2
POL( U21(x1) ) = 1
POL( isNat(x1) ) = 2
POL( U31(x1) ) = 2
POL( U42(x1) ) = max{0, -1}
POL( isNatIList(x1) ) = 2
POL( U52(x1) ) = 0
POL( U62(x1) ) = max{0, -2}
POL( n__take(x1, x2) ) = 2x2 + 2
POL( activate(x1) ) = x1
POL( n__zeros ) = 0
POL( zeros ) = 0
POL( n__0 ) = 0
POL( 0 ) = 0
POL( n__length(x1) ) = 2
POL( n__s(x1) ) = 1
POL( n__cons(x1, x2) ) = x1 + x2
POL( n__nil ) = 0
POL( nil ) = 0
POL( U81(x1) ) = max{0, x1 - 1}
POL( tt ) = 0
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
take(X1, X2) → n__take(X1, X2)
s(X) → n__s(X)
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
cons(X1, X2) → n__cons(X1, X2)
0 → n__0
length(nil) → 0
length(X) → n__length(X)
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U11(tt) → tt
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
U21(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
isNatIList(n__zeros) → tt
U62(tt) → tt
isNatIList(V) → U31(isNatList(activate(V)))
U31(tt) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
zeros → cons(0, n__zeros)
zeros → n__zeros
nil → n__nil
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(n__cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U411(tt, n__s(x0)) → ISNATILIST(s(activate(x0)))
POL( U411(x1, x2) ) = max{0, 2x1 + 2x2 - 2}
POL( ISNATILIST(x1) ) = x1
POL( U41(x1, x2) ) = 1
POL( U51(x1, x2) ) = 1
POL( U61(x1, x2) ) = max{0, 2x1 - 1}
POL( U71(x1, ..., x3) ) = 1
POL( U72(x1, x2) ) = x1
POL( U91(x1, ..., x4) ) = max{0, -1}
POL( U92(x1, ..., x4) ) = max{0, -1}
POL( U93(x1, ..., x4) ) = max{0, -2}
POL( cons(x1, x2) ) = 2x2
POL( length(x1) ) = 2
POL( s(x1) ) = 1
POL( take(x1, x2) ) = max{0, -2}
POL( U11(x1) ) = 1
POL( isNatList(x1) ) = 2
POL( U21(x1) ) = max{0, 2x1 - 1}
POL( isNat(x1) ) = 1
POL( U31(x1) ) = 1
POL( U42(x1) ) = 1
POL( isNatIList(x1) ) = 2
POL( U52(x1) ) = 1
POL( U62(x1) ) = 1
POL( n__take(x1, x2) ) = max{0, -1}
POL( activate(x1) ) = x1
POL( n__zeros ) = 0
POL( zeros ) = 0
POL( n__0 ) = 0
POL( 0 ) = 0
POL( n__length(x1) ) = 2
POL( n__s(x1) ) = 1
POL( n__cons(x1, x2) ) = 2x2
POL( n__nil ) = 0
POL( nil ) = 0
POL( U81(x1) ) = max{0, -2}
POL( tt ) = 1
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
take(X1, X2) → n__take(X1, X2)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
0 → n__0
length(nil) → 0
length(X) → n__length(X)
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U11(tt) → tt
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
U21(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
isNatIList(V) → U31(isNatList(activate(V)))
U31(tt) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
zeros → cons(0, n__zeros)
zeros → n__zeros
nil → n__nil
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(n__cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U411(tt, n__take(x0, x1)) → ISNATILIST(take(activate(x0), activate(x1)))
POL(U411(x1, x2)) = 2A + -I · x1 + 1A · x2
POL(tt) = 2A
POL(n__take(x1, x2)) = 2A + 1A · x1 + -I · x2
POL(ISNATILIST(x1)) = 2A + 0A · x1
POL(take(x1, x2)) = 2A + 1A · x1 + -I · x2
POL(activate(x1)) = 1A + 0A · x1
POL(n__cons(x1, x2)) = 0A + -I · x1 + 1A · x2
POL(isNat(x1)) = 0A + 0A · x1
POL(cons(x1, x2)) = 0A + -I · x1 + 1A · x2
POL(n__0) = 4A
POL(n__zeros) = 0A
POL(0) = 4A
POL(zeros) = 1A
POL(n__length(x1)) = 2A + 0A · x1
POL(length(x1)) = 2A + 0A · x1
POL(n__s(x1)) = 2A + 1A · x1
POL(s(x1)) = 2A + 1A · x1
POL(n__nil) = 5A
POL(nil) = 5A
POL(U81(x1)) = 5A + -I · x1
POL(isNatIList(x1)) = 2A + -I · x1
POL(U91(x1, x2, x3, x4)) = 3A + -I · x1 + -I · x2 + 2A · x3 + -I · x4
POL(U11(x1)) = -I + 0A · x1
POL(isNatList(x1)) = 1A + 0A · x1
POL(U21(x1)) = -I + 0A · x1
POL(U71(x1, x2, x3)) = -I + 1A · x1 + 1A · x2 + -I · x3
POL(U51(x1, x2)) = 1A + -I · x1 + 0A · x2
POL(U61(x1, x2)) = 0A + 1A · x1 + -I · x2
POL(U62(x1)) = 3A + 0A · x1
POL(U31(x1)) = 2A + -I · x1
POL(U41(x1, x2)) = 2A + -I · x1 + -I · x2
POL(U42(x1)) = 2A + -I · x1
POL(U52(x1)) = 0A + 0A · x1
POL(U72(x1, x2)) = 3A + -I · x1 + 1A · x2
POL(U92(x1, x2, x3, x4)) = -I + 1A · x1 + -I · x2 + 2A · x3 + -I · x4
POL(U93(x1, x2, x3, x4)) = 3A + -I · x1 + -I · x2 + 2A · x3 + -I · x4
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
take(X1, X2) → n__take(X1, X2)
cons(X1, X2) → n__cons(X1, X2)
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
0 → n__0
length(nil) → 0
length(X) → n__length(X)
s(X) → n__s(X)
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U11(tt) → tt
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
U21(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
isNatIList(n__zeros) → tt
U62(tt) → tt
isNatIList(V) → U31(isNatList(activate(V)))
U31(tt) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
zeros → cons(0, n__zeros)
zeros → n__zeros
nil → n__nil
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(n__cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(activate(x0), x1)), activate(y1))
POL(ISNATILIST(x1)) = 0 +
[ 0, 1 ] · x1
POL(n__cons(x1, x2)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 1 0 / · x1 +
/ 0 0 \ \ 0 1 / · x2
POL(U411(x1, x2)) = 0 +
[ 0, 0 ] · x1 +
[ 0, 1 ] · x2
POL(isNat(x1)) =
/ 0 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1
POL(cons(x1, x2)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 1 0 / · x1 +
/ 0 0 \ \ 0 1 / · x2
POL(activate(x1)) =
/ 0 \ \ 0 / +
/ 1 0 \ \ 0 1 / · x1
POL(tt) =
/ 0 \ \ 0 /
POL(n__0) =
/ 0 \ \ 0 /
POL(n__zeros) =
/ 1 \ \ 0 /
POL(0) =
/ 0 \ \ 0 /
POL(zeros) =
/ 1 \ \ 0 /
POL(n__take(x1, x2)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 0 \ \ 0 1 / · x2
POL(take(x1, x2)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 0 \ \ 0 1 / · x2
POL(n__length(x1)) =
/ 1 \ \ 0 / +
/ 1 0 \ \ 0 0 / · x1
POL(length(x1)) =
/ 1 \ \ 0 / +
/ 1 0 \ \ 0 0 / · x1
POL(n__s(x1)) =
/ 0 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1
POL(s(x1)) =
/ 0 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1
POL(n__nil) =
/ 0 \ \ 0 /
POL(nil) =
/ 0 \ \ 0 /
POL(U11(x1)) =
/ 0 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1
POL(isNatList(x1)) =
/ 1 \ \ 1 / +
/ 1 1 \ \ 1 1 / · x1
POL(U21(x1)) =
/ 0 \ \ 0 / +
/ 1 0 \ \ 0 0 / · x1
POL(U71(x1, x2, x3)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 0 \ \ 0 0 / · x2 +
/ 0 0 \ \ 0 0 / · x3
POL(U51(x1, x2)) =
/ 1 \ \ 1 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 1 \ \ 0 1 / · x2
POL(U61(x1, x2)) =
/ 1 \ \ 1 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 1 \ \ 0 1 / · x2
POL(U62(x1)) =
/ 1 \ \ 1 / +
/ 0 1 \ \ 0 0 / · x1
POL(isNatIList(x1)) =
/ 0 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1
POL(U31(x1)) =
/ 0 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1
POL(U41(x1, x2)) =
/ 0 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 0 \ \ 0 0 / · x2
POL(U42(x1)) =
/ 0 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1
POL(U52(x1)) =
/ 1 \ \ 1 / +
/ 0 0 \ \ 0 0 / · x1
POL(U72(x1, x2)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 0 \ \ 0 0 / · x2
POL(U81(x1)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1
POL(U91(x1, x2, x3, x4)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 0 \ \ 0 1 / · x2 +
/ 0 0 \ \ 0 0 / · x3 +
/ 0 0 \ \ 1 0 / · x4
POL(U92(x1, x2, x3, x4)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 0 \ \ 0 1 / · x2 +
/ 0 0 \ \ 0 0 / · x3 +
/ 0 0 \ \ 1 0 / · x4
POL(U93(x1, x2, x3, x4)) =
/ 1 \ \ 0 / +
/ 0 0 \ \ 0 0 / · x1 +
/ 0 0 \ \ 0 1 / · x2 +
/ 0 0 \ \ 0 0 / · x3 +
/ 0 0 \ \ 1 0 / · x4
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X
cons(X1, X2) → n__cons(X1, X2)
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
0 → n__0
take(X1, X2) → n__take(X1, X2)
length(nil) → 0
length(X) → n__length(X)
s(X) → n__s(X)
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U11(tt) → tt
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
U21(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
isNatIList(n__zeros) → tt
U62(tt) → tt
isNatIList(V) → U31(isNatList(activate(V)))
U31(tt) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
take(0, IL) → U81(isNatIList(IL))
U81(tt) → nil
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
zeros → cons(0, n__zeros)
zeros → n__zeros
nil → n__nil
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(activate(x0), x1))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(n__cons(n__0, n__zeros))
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, V2) → U62(isNatIList(activate(V2)))
U62(tt) → tt
U71(tt, L, N) → U72(isNat(activate(N)), activate(L))
U72(tt, L) → s(length(activate(L)))
U81(tt) → nil
U91(tt, IL, M, N) → U92(isNat(activate(M)), activate(IL), activate(M), activate(N))
U92(tt, IL, M, N) → U93(isNat(activate(N)), activate(IL), activate(M), activate(N))
U93(tt, IL, M, N) → cons(activate(N), n__take(activate(M), activate(IL)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNatList(n__take(V1, V2)) → U61(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U71(isNatList(activate(L)), activate(L), N)
take(0, IL) → U81(isNatIList(IL))
take(s(M), cons(N, IL)) → U91(isNatIList(activate(IL)), activate(IL), M, N)
zeros → n__zeros
take(X1, X2) → n__take(X1, X2)
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__length(X)) → length(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__nil) → nil
activate(X) → X